package com.kclm.se.inter;

public class InterfaceDemo {

	public static void main(String[] args) {
		IA a = new IAImpl();
		//
		a.ma();
		// 静态方法可以通过接口来直接调用
		IA.static_mc();
	}
	
	interface IA {
		
		void ma();
		
		//默认方法可以被子类重写，具备多态性 
		default void default_ma() {
			System.out.println("IA接口的默认实现方法");
		}
		
		//不具备多态性，不能被重写
		static void static_mc() {
			System.out.println("这是接口中的静态方法...");
		}
	}
	
	static class IAImpl implements IA {
		@Override
		public void ma() {
			System.out.println("ma方法被调用了...");
			//直接使用接口中定义的默认方法
			default_ma();
		}
		
		//可以重写接口中的默认方法
		@Override
		public void default_ma() {
			System.out.println("IAImpl类中的default_ma()方法被调用了");
		}
		
	}
}
